let ApiError = require('../utils/error/ApiError');
//const {errorLogger,infoLogger,con} = require('../logger');
const {errorLogger,infoLogger,con} = require('../config')['logger'];
module.exports = () => {
    con.info('>>>>>:路由过滤器中间件处理开始');
    return async (ctx, next) => {
        let pattern = "[/book/|/movie/|/user/|/login/]";
        let reg = new RegExp(pattern);
        if (!reg.test(ctx.originalUrl)) {
            con.info('>>>>>>:路由过滤器中间件处理，路由异常');
            ctx.status = 200;
            ctx.body = {
                code: 0,
                msg: '路由异常',
            }
        } else {
            try {
                con.info('>>>>>:路由过滤器中间件处理，进入下一个中间件开始');
                await next();
                con.info('>>>>>>:路由过滤器中间件处理，下一个中间件结束,没有异常');
            } catch (error) {
                errorLogger.error(error);
                con.info('>>>>>:路由过滤器中间件处理,程序异常,异常信息,程序结束');
                //console.log('路由过滤器中间件处理，下一个中间件处理结束');
                //继续抛，让外层中间件处理日志
            }
        }
    }
};
